Various types of communications can be implemented over a packet-switched network such as the Internet, including packet-based voice or video calling such as Voice over IP (VoIP), and text based communications such as instant messaging (IM) chat sessions. Various communication systems also exist each using one or more of the different types of communication. For example one communication system may provide VoIP or both VoIP and IM, whereas another system may provide only IM or may only provide VoIP according to a different incompatible protocol.
Each different communication system implemented over the network has its own respective set of users (its user base), identified by a respective system of user names or other such user identifiers. Each different communication system provides a respective client application to be installed on the user terminals of the users of its respective user base, allowing those users to access the communication system. For example a user may install an instance of the client application of a first communication system, e.g. providing VoIP or VoIP and IM, on his or her user terminal, and register with the first communication system so as to obtain a user name or other identifier uniquely identifying him or her within the first communication system. The user can then gain access to the first communication system based on this unique identifier (potentially as well as other credentials such as a password or authentication certificate), allowing him to communicate with other users identified based on their user names or identifiers if they have agreed to become contacts of the user in question. Similarly a user may install an instance of the client of a second communication system, e.g. providing only IM, on his or her user terminal, and register with the second communication system so as to obtain a user name or other identifier uniquely identifying him or her within the second communication system. The user can then gain access based on this unique identifier (again potentially as well as other credentials such as a password or authentication certificate) and thus communicate with contacts using the second communication system.
A user may register with two or more different communication systems, and have a respective user name or identifier for each. A user who has registered with a communication system to obtain a user name or other identifier is said to have an account with that communication system (which need not necessarily be an account in a financial or monetary sense as many communication systems can be free). Nowadays it is also possible to link together the accounts of different communication systems. E.g. the user of a first communication system may also have an account with a second communication system and may have those accounts linked so that contacts from the second communication system are visible to the client of the first communication system. The user may then be able to use the client of the first communication system to communicate with a contact via that contact's client of the second communication system.
In such a scenario the user of one system, e.g. VoIP system, may attempt to call another user who does not have a client that is capable of processing the relevant communication type, e.g. does not have a VoIP capable client installed because he or she is currently only an IM user. In this case the called user (the callee) may be provided with the option of downloading and installing an instance of VoIP application in order to be able to take the call, e.g. installing a plug-in application which plugs in to his or her web browser. In the meantime the originating user (the caller) is just presented with a message saying the callee is having to install a new plug-in and will call back once installation is complete.
Generally there may also be other reasons why the terminal of a callee is not ready to accept an incoming call.